import { createRequest } from 'microvideo-request'

/**
 * 智能侦测模块
 * @author 刘清华
 */

/**
 * 获取智能侦测统计数
 *
 * @params     object
 * @param   detectionId    string  选填	智能侦测ID
 * @param   detectionClassify	    string  选填	智能侦测分类(0:AI监测;2:交通态势;3:协同上报;4:气象预测;5:相邻路段;6:桥梁预测)
 * @param   detectionLevel    string  选填	智能侦测等级(1:一级;2:二级)
 * @params  monitorTime    string  选填	监测时间
 * @returns promise
 */
export function getStatisticsCount(params) {
  return createRequest().setParameters(params).get('/detection-statistic/count')
}

/**
 * 获取智能侦测列表
 *
 * @params     object
 * @param   detectionClassify    string  选填	智能侦测分类(0:AI监测;2:交通态势;3:协同上报;4:气象预测;5:相邻路段;6:桥梁预测)
 * @param   detectionLevel	    string  选填	智能侦测等级(1:一级;2:二级)
 * @param   monitorTime    string  选填	监测时间
 * @returns promise
 */
export function getDetectionList(params) {
  return createRequest().setParameters(params).get('/screen-detection/list')
}

// /**
//  * 详情内容
//  *
//  * @params     object
//  * @param   detectionId    string  侦测id
//  * @returns promise
//  */
// export function getDetectidetail(detectionId) {
//   return createRequest().get(`/screen-detection/detail/${detectionId}`)
// }

/**
 *  智能侦测确认事件
 * @params     object
 * @param   detectionId         string  必填	智能侦测Id
 * @param   detectionType       智能侦测类型
 * @param   roadSysType         路网类型
 * @param   alarmType           告警类型
 * @param   confirmType	        string  必填	确认类型(1:确认;2:误报;3:忽略;)
 * @param   eventType           事件类型(字典值)
 * @param   eventSource         事件来源（字典值）
 * @param   unit                单位id
 * @param   ignoreType      	  忽略误报状态 1:确认事件;2:关联事件;3:误报;4:忽略
 * @param   eventType           转换事件类型
 * @returns promise
 */
export function operatesDetectionConfirm(params) {
  return createRequest('ZNZC').setParameters(params).post('/acceptance/create')
}

/**
 *  智能侦测  忽略-误报
 * @params     object
 * @param   detectionId             	  智能侦测Id
 * @param   unit                        单位id
 * @param   detectionType               智能侦测类型
 * @param   desc	                      智能侦测描述
 * @param   eventType                   事件类型
 * @param   eventSource                 事件来源
 * @param   happenTime                  发生时间
 * @param   endTime                     结束时间
 * @param   roadSysType                 事件环境变量 0公路 1高速
 * @param   assistantId                 关联事件id
 * @param   ignoreType                  忽略误报状态 3:误报4:忽略   ... 1:确认事件;2:关联事件
 * @param   ignoreDesc                  忽略误报描述
 * @param   projectCode                 项目标识说明
 * @param   customEventType             说明自定义事件
 * @param   administrativeCode          地市编码
 * @param   alarmType                   告警类型
 * @param   detectionSituationRequest object  列表项对象
 *          districtId  省市区编码
            roadNum 路线编号
            roadName  路线名称
            from  开始桩号
            to  结束桩号
            distance  拥堵距离
            duration  预计通行时间
 *
 * @returns promise
 *
 *
 */
export function operateMisinformationIgnore(params) {
  return createRequest('ZNZC').setParameters(params).post('/acceptance/misinformation-ignore')
}

/**
 * 关联事件
 * @params  object
 * @param   detectionId     string  必填	智能侦测Id
 * @param   eventId   	    关联事件id
 * @returns promise
 */
export function connectEvent(params) {
  return createRequest('ZNZC').setParameters(params).post('/acceptance/bound')
}

/**
 * 获取可关联事件列表
 * @params  object
 * @param   unitId          单位id
 * @param   roadSysType   	路段类型id
 * @param   page            页码
 * @param   limit           页面容量
 * @returns
 */
export function getAssociatedEventsList(params) {
  return createRequest('ZNZC').setParameters(params).get('/acceptance/list')
}

/**
 *  气象预警  PDF在线预览下载
 * @returns promise
 */
export function downloadFile(params) {
  return createRequest().setParameters(params).get('/screen-system/download/file', {
    responseType: 'blob'
  })
}

/**
 *   获取智能侦测第三方数据列表
 * @returns promise
 */
export function getThirdList(params) {
  return createRequest().setParameters(params).get('/screen-detection/list/third')
}

/**
 *   获取AI软链接图片适配数据
 * @returns promise
 * @param String name;
 * @param Number fileType;
 */
export function getAIFile(params) {
  return createRequest('ZNZC').setParameters(params).post('/ai-detection-api/url')
}
